1. Field of the Invention
The present invention is related to methods of calibrating projectors in projector-camera systems, and more specifically related to methods of simplifying application of dual photography.
2. Description of the Related Art
When projectors and cameras are combined, hybrid devices and systems that are capable of both projecting and capturing light are born. This emerging class of imaging devices and systems are known in the research community as projector-camera systems. Typically, the images captured by one or more cameras, is used to estimate attributes about the display environment, such as the geometric shape of the projection surfaces. The projectors in the system then adapt the images projected so as to improve the resulting imagery.
A key problem that builders of projector-camera systems and devices need to solve is the determination of the internal imaging parameters of each device (the intrinsic parameters) and the determination of the geometric relationship between all projectors and cameras in the system (the extrinsic parameters). This problem is commonly referred to as that of calibrating the system.
In the computer vision community, there is a large body of work for calibrating imaging systems with one or more cameras. A commonly used method in the computer vision community for calibrating cameras is described in article, “A flexible new technique for camera calibration”, IEEE Transactions on Pattern Analysis and Machine Intelligence, 22(11):1330-1334, 2000, by Zhengyou Zhang, which is herein incorporated in its entirety by reference. In this method, multiple images of a flat object marked with a number of known feature points (typically forming a grid) are captured by a camera, with the flat object posed at a variety of angles relative to the camera. The image location of each feature point is extracted, and since the relative location of each feature point is known, the collection of feature point locations can then be used to calibrate the camera. When two or more cameras are present in the system, the intrinsic parameters as well as the geometric relationship between all cameras can be estimated by having all cameras capture an image of the flat object at each pose angle.
Since projectors and cameras are very similar in terms of imaging geometry, it might seem reasonable that techniques for calibrating cameras may be applicable to the calibration of projectors, and projector-camera systems. However, since all camera calibration techniques require that the camera (i.e. the imaging device being calibrated) capture a number of images, it would appear that camera calibration techniques cannot readily be applied to projectors, which cannot capture images.
Therefore, in traditional systems the cameras are calibrated first, and then the calibrated cameras are used to calibrate the projector. In these systems, a “bootstrapping” procedure, in which a pair of calibrated cameras are used to form a stereo pair, is used. As it is known, a stereo pair of cameras can be used to estimate depth, i.e. a perspective view, of feature points visible to the stereo pair. To calibrate a projector, the projector is first made to project feature points onto a display environment (i.e. a projection surface), and then by using the stereo pair of calibrated cameras to determine the perspective depth location of the projected points, the projector can be calibrated accordingly to compensate for surface irregularities in the display environment.
While this bootstrapping technique is a tested-and-proven calibration method for projector-camera systems, it is not applicable to the calibration of self-contained projector-camera devices, since it requires the use of external stereo camera pairs.
A technique called dual photography was proposed by Sen et al. in article, “Dual Photography”, Proceedings ACM SIGGRRAPH, 2005, which is herein incorporated by reference in its entirety. Dual photography makes use of Helmholtz reciprocity to use images captured with real cameras to synthesize pseudo images (i.e. dual images) that simulate images “as seen” (or effectively “captured”) by projectors. That is, the pseudo image simulates a captured image as “viewed” by the projector, and thus represents what a projector-captured image would be if a projector could capture images. This approach would permit a projector to be treated as a pseudo camera, and thus might eliminate some of the difficulties associated with calibrating projectors.
Helmholtz reciprocity is based on the idea that the flow of light can be effectively reversed without altering its transport properties. Helmholtz reciprocity has been used in many computer graphics applications to reduce computational complexity. In computer graphics literature, this reciprocity is typically summarized by an equation describing the symmetry of the radiance transfer between incoming and outgoing directions, ωi and ωo: fr(ωi>ωo)=fr(ωo>ωi), where fr represents the bidirectional reflectance distribution function, BRDF, of a surface.
Thus, dual photography ideally takes advantage of the dual nature (i.e. duality relationship) of a projected image and a captured image to simulate one from the other. As is described in more detail below, dual photography (and more precisely Helmholtz reciprocity) requires the capturing of the light transport between a camera and a projector.
When dealing with a digital camera and a digital projector, dual photography requires capturing each light transport coefficient between every camera pixel and every projector pixel, at the resolution of both devices. Since a digital projector and a digital camera can both have millions of pixels each, the acquisition, storage, and manipulation of multitudes of light transport coefficients can place real practical limitations on its use. Thus, although in theory dual photography would appear to offer great benefits, in practice, dual photography is severely limited by its physical and impractical requirements of needing extremely large amounts of computer memory (both archive disk-type memory and active silicon memory) and needing extensive and fast computational processing.
A clearer understanding of dual photography may be obtained with reference to FIGS. 1A and 1B. In FIG. 1A, a “primal configuration” (i.e. a configuration of real, physical devices prior to any duality transformations) includes a real digital projector 11, a real projected image 13, and a real digital camera 15. Light is emitted from real projector 11 and captured by real camera 15. A coefficient relating each projected beam of light (from real projector 11) to a correspondingly captured beam of light (at real camera 15) is called the light transport coefficient. Using the light transport coefficient, it is possible to determine the characteristics of a projected beam of light from a captured beam of light.
In the present example, real projector 11 is a digital projector having an array of projector pixels 17 symbolically shown in a dotted box and comprised of s rows and r columns of projector pixels e. The size of projector pixel array 17 depends on the resolution of real projector 11. For example, an VGA resolution may consists of 640 by 480 pixels (i.e. 307,200 projector pixels e), an SVGA resolution may have 800 by 600 pixels (i.e. 480,000 projector pixels e), an XVG resolution may have 1024 by 768 pixels (i.e. 786,732 projector pixels e), an SXVG resolution may have 1280 by 1024 (i.e. 1,310,720 projector pixels e), and so on, with greater resolution projectors requiring a greater number of projector pixels e.
Similarly, real camera 15 is a digital camera having an array of light receptor pixels 19 symbolic shown in a dotted box and comprised of u rows and v columns of receptor pixels g. The size of receptor pixel array 19 again depends on the resolution of real camera 15. However, it is common for real camera 15 to have a resolution of 4 MegaPixels (i.e. 4,194,304 receptor pixels g), or greater.
Since real projector 11 is a digital projector having an array of individual light projection pixels e and real camera 15 is a digital camera having an array of individual light receptor pixels g, a matrix T is used to describe the group of light transport coefficients relating each projector pixel e in real projector 11 to each receptor pixel g of real camera 15 (i.e. element Tge in matrix T would be the transport coefficient from an individual, real projector pixel e to an individual, real camera receptor pixel g). Therefore, a real captured image C′ is related to a projected image P′ as C′=TP′.
The duality transformation, i.e. dual configuration, of the system of FIG. 1A is shown FIG. 1B. In this dual configuration, real projector 11 of FIG. 1A is transformed into a virtual camera 11″, and real camera 15 of FIG. 1A is transformed into a virtual projector 15″. It is to be understood that virtual camera 11″ and virtual projector 15″ represent the dual counterparts of real projector 11 and real camera 15, respectively, and are not real devices themselves. That is, virtual camera 11″ is a mathematical representation of how a hypothetical camera (i.e. virtual camera 11″) would behave to capture a hypothetically projected image 13″, which is similar to real image 13 projected by real projector 11 of FIG. 1A. Similarly, virtual projector 15″ is a mathematical representation of how a hypothetical projector (i.e. virtual projector 15″) would behave to project hypothetical image 13″ that substantially matches real image 13, as captured by real camera 15 (of FIG. 1A). Thus, the positions of the real projector 11 and real camera 15 of FIG. 1A are interchanged in FIG. 1B as virtual camera 11″ and virtual projector 15″. However, the pixel resolution of the real devices carries forward to their counterpart, dual devices. Therefore, virtual camera 11″ has a virtual receptor pixel array 17″ consisting of s rows and r columns to match projector pixel array 17 of real projector 11. Similarly, virtual projector 15″ has a virtual projection pixel array 19″ consisting of u rows and v columns to match receptor pixel array 19 to real camera 15.
Suppose a dual transport matrix T″ is the transport matrix in this dual configuration such that a virtual captured image C″ (as captured by virtual camera 11″) is related to a virtual projected image P″ (as projected by virtual projector 15″) as C″=TP″, then T″eg would be the dual light transport coefficient between virtual projector pixel g″ and virtual receptor pixel e″.
Helmholtz reciprocity specifies that the pixel-to-pixel transport is equal in both directions (i.e. from real projector 11 to real camera 15, and from virtual projector 15″ to virtual camera 11″). That is, T″eg=Tge, which means T″=TT, (i.e. dual matrix T″ is equivalent to the result of the mathematical transpose operation on real matrix T). Thus, given matrix T, one can use TT to synthesize the images that would be acquired in the dual configuration.